package com.neusoft.aclome.cmp.cloud.server.jcce.dto.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.neusoft.aclome.cmp.common.model.entity.PageData;
import com.neusoft.pub.cloud.provider.request.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

import static org.apache.hc.core5.util.Deadline.DATE_FORMAT;


public class JcceJobRequestDTO extends BaseRequest {
    /**
     * 任务 ID
     */

    private Long id;

    /**
     * 作业类型
     */
    private String jobType;

    /**
     * 作业名称
     */
    private String jobName;

    /**
     * 云平台类型
     */
    private String cloudType;

    /**
     * 云平台 ID
     */
    private Integer cloudPlatformId;

    /**
     * 作业提交时间
     */
    private Date startTime;

    /**
     * 作业完成时间
     */
    private Date endTime;

    /**
     * 作业状态
     */
    private String status;
    /**
     * 到达开始日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//接受前台的时间格式 传到后台的格式
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//作用：后台的时间 格式化 发送到前台
    private Date arriveStartTime;
    /**
     * 到达结束日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")//接受前台的时间格式 传到后台的格式
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")//作用：后台的时间 格式化 发送到前台
    private Date arriveEndTime;

    /**
     * 获取任务 ID
     *
     * @return id - 任务 ID
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置任务 ID
     *
     * @param id 任务 ID
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取作业类型
     *
     * @return job_type - 作业类型
     */
    public String getJobType() {
        return jobType;
    }

    /**
     * 设置作业类型
     *
     * @param jobType 作业类型
     */
    public void setJobType(String jobType) {
        this.jobType = jobType;
    }

    /**
     * 获取作业名称
     *
     * @return job_name - 作业名称
     */
    public String getJobName() {
        return jobName;
    }

    /**
     * 设置作业名称
     *
     * @param jobName 作业名称
     */
    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    /**
     * 获取云平台类型
     *
     * @return cloud_type - 云平台类型
     */
    public String getCloudType() {
        return cloudType;
    }

    /**
     * 设置云平台类型
     *
     * @param cloudType 云平台类型
     */
    public void setCloudType(String cloudType) {
        this.cloudType = cloudType;
    }

    /**
     * 获取云平台 ID
     *
     * @return cloud_platform_id - 云平台 ID
     */
    public Integer getCloudPlatformId() {
        return cloudPlatformId;
    }

    /**
     * 设置云平台 ID
     *
     * @param cloudPlatformId 云平台 ID
     */
    public void setCloudPlatformId(Integer cloudPlatformId) {
        this.cloudPlatformId = cloudPlatformId;
    }

    /**
     * 获取作业提交时间
     *
     * @return start_time - 作业提交时间
     */
    public Date getStartTime() {
        return startTime;
    }

    /**
     * 设置作业提交时间
     *
     * @param startTime 作业提交时间
     */
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    /**
     * 获取作业完成时间
     *
     * @return end_time - 作业完成时间
     */
    public Date getEndTime() {
        return endTime;
    }

    /**
     * 设置作业完成时间
     *
     * @param endTime 作业完成时间
     */
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    /**
     * 获取作业状态
     *
     * @return status - 作业状态
     */
    public String getStatus() {
        return status;
    }

    /**
     * 设置作业状态
     *
     * @param status 作业状态
     */
    public void setStatus(String status) {
        this.status = status;
    }

    public Date getArriveStartTime() {
        return arriveStartTime;
    }

    public void setArriveStartTime(Date arriveStartTime) {
        this.arriveStartTime = arriveStartTime;
    }

    public Date getArriveEndTime() {
        return arriveEndTime;
    }

    public void setArriveEndTime(Date arriveEndTime) {
        this.arriveEndTime = arriveEndTime;
    }
}